<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>IM</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        html,
        body {
            height: 100%;
        }

        @font-face {
            font-family: 'neo';
            src: url("font/NEOTERICc.ttf");
        }
        input:focus{
			outline: none;
		}
		.form input{
			width: 300px;
			height: 30px;
			font-size: 18px;
            background: none;
            border: none;
            border-bottom: 1px solid #fff;
            color: #fff;
            margin-bottom: 20px;
		}
        .form input::placeholder{
            color: rgba(255,255,255,0.8);
            font-size: 18px;
            font-family: "neo";
        }
        .confirm{
            height: 0;
            overflow: hidden;
            transition: .25s;
        }
		.btn{
			width:140px;
			height: 40px;
			border: 1px solid #fff;
            background: none;
			font-size:20px;
			color: #fff;
            cursor: pointer;
            margin-top: 25px;
            font-family: "neo";
            transition: .25s;
		}
        .btn:hover{
            background: rgba(255,255,255,.25);
        }
        #login_wrap{
            width: 980px;
            min-height: 500px;
            border-radius: 10px;
            font-family: "neo";
            overflow: hidden;
            box-shadow: 0px 0px 120px rgba(0, 0, 0, 0.25);
            position: fixed;
            top: 50%;
            right: 50%;
            margin-top: -250px;
            margin-right: -490px;
        }
        #login{
            width: 50%;
            height: 100%;
            min-height: 500px;
            background: linear-gradient(45deg, #9a444e, #e06267);
            position: relative;
            float: right;
        }
        #login #status{
            width: 90px;
            height: 35px;
            margin: 40px auto;
            color: #fff;
            font-size: 30px;
            font-weight: 600;
            position: relative;
            overflow: hidden;
        }
        #login #status i{
            font-style: normal;
            position: absolute;
            transition: .5s
        }
        #login span{
            text-align: center;
            position: absolute;
            left: 50%;
            margin-left: -150px;
            top: 52%;
            margin-top: -140px;
        }
        #login span a{
            text-decoration: none;
            color: #fff;
            display: block;
            margin-top: 80px;
            font-size: 18px;
        }
        #bg{
            background: linear-gradient(45deg, #211136, #bf5853);
            height: 100%;
        }
        /*绘图*/
        #login_img{
            width: 50%;
            min-height: 500px;
            background: linear-gradient(45deg, #221334, #6c3049);
            float: left;
            position: relative;
        }
        #login_img span{
            position: absolute;
            display: block;
        }
        #login_img .circle{
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background: linear-gradient(45deg, #df5555, #ef907a);
            top: 70px;
            left: 50%;
            margin-left: -100px;
            overflow: hidden;
        }
        #login_img .circle span{
            width: 150px;
            height: 40px;
            border-radius: 50px;
            position: absolute;
        }
        #login_img .circle span:nth-child(1){
            top: 30px;
            left: -38px;
            background: #c55c59;
        }
        #login_img .circle span:nth-child(2){
            bottom: 20px;
            right: -35px;
            background: #934555;
        }
        #login_img .star span{
            background: radial-gradient(#fff 10%,#fff 20%,rgba(72, 34, 64, 0));
            border-radius: 50%;
            box-shadow: 0 0 7px #fff;
        }
        #login_img .star span:nth-child(1){
            width: 15px;
            height: 15px;
            top: 50px;
            left: 30px;
        }
        #login_img .star span:nth-child(2){
            width: 10px;
            height: 10px;
            left: 360px;
            top: 80px;
        }
        #login_img .star span:nth-child(3){
            width: 5px;
            height: 5px;
            top: 400px;
            left: 80px;
        }
        #login_img .star span:nth-child(4){
            width: 8px;
            height: 8px;
            top: 240px;
            left: 60px;
        }
        #login_img .star span:nth-child(5){
            width: 4px;
            height: 4px;
            top: 20px;
            left: 200px;
        }
        #login_img .star span:nth-child(6){
            width: 4px;
            height: 4px;
            top: 460px;
            left: 410px;
        }
        #login_img .star span:nth-child(7){
            width: 6px;
            height: 6px;
            top: 250px;
            left: 350px;
        }
        #login_img .fly_star span{
            width: 90px;
            height: 3px;
            background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.67), rgba(255,255,255,0));
            background: -o-linear-gradient(left, rgba(255, 255, 255, 0.67), rgba(255,255,255,0));
            background: linear-gradient(to right, rgba(255, 255, 255, 0.67), rgba(255,255,255,0));
            transform: rotate(-45deg);
        }
        #login_img .fly_star span:nth-child(1){
            top:60px;
            left: 80px;
        }
        #login_img .fly_star span:nth-child(2){
            top: 210px;
            left: 332px;
            opacity: 0.6;
        }
        #login_img p{
            text-align: center;
            color: #af4b55;
            font-weight: 600;
            margin-top: 365px;
            font-size: 25px;
        }
        #login_img p i{
            font-style: normal;
            margin-right: 45px;
        }
        #login_img p i:nth-last-child(1){
            margin-right: 0;
        }
        /*提示*/
        #hint{
            width: 100%;
            line-height: 70px;
            background: linear-gradient(-90deg, #9b494d, #bf5853);
            text-align: center;
            font-size: 25px;
            color: #fff;
            box-shadow: 0 0 20px #733544;
            display: none;
            opacity: 0;
            transition: .5s;
            position: absolute;
            top: 0;
            z-index: 999;
        }
        /* 响应式 */
        @media screen and (max-width:1000px ) {
            #login_img{
                display: none;
            }
            #login_wrap{
                width: 490px;
                margin-right: -245px;
            }
            #login{
                width: 100%;
                
            }
        }
        @media screen and (max-width:560px ) {
            #login_wrap{
                width: 330px;
                margin-right: -165px;
            }
            #login span{
                margin-left: -125px;
            }
            .form input{
                width: 250px;
            }
            .btn{
                width: 113px;
            }
        }
        @media screen and (max-width:345px ) {
            #login_wrap {
                width: 290px;
                margin-right: -145px;
            }
        }
    </style>
</head>


<body>
    <div id="myapp">
        <div id="bg">
            <div id="login_wrap">
                <div id="login"><!-- 登录注册切换动画 -->
                    <div id="status">
                        <i style="top: 0" v-show="show_flag==false">Login</i>
                        <i style="top: 0" v-show="show_flag==true">Sigin</i>
                    </div>
                    <span>
                        <form action="post">
                            <p class="form">
                                <input type="text" id="user" placeholder="用户名" v-model="username">
                            </p>
                            <p class="form">
                                <input type="password" id="passwd" placeholder="密码" v-model="password">
                            </p>
                            <p class="form" v-show="show_flag==true">
                                <input type="password" id="passwd" placeholder="确认密码" v-model="confirm">
                            </p>
                            <input type="button" value="登录" class="btn"  style="margin-right: 20px;" v-on:click="login_show()">
                            <input type="button" value="注册" class="btn"  id="btn" v-on:click="sigin_show()">
                        </form>
                    </span>
                </div>

                <div id="login_img"><!-- 图片绘制框 -->
                    <span class="circle">
                        <span></span>
                        <span></span>
                    </span>
                    <span class="star">
                        <span></span>
                        <span></span>
                        <span></span>
                        <span></span>
                        <span></span>
                        <span></span>
                        <span></span>
                        <span></span>
                    </span>
                    <span class="fly_star">
                        <span></span>
                        <span></span>
                    </span>
                    <p id="title">CLOUD</p>
                </div>
            </div>
        </div>
    </div>
</body>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<!-- 开发环境版本，包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

<script>
    var app = new Vue({
        el: '#myapp',
        data: {
            show_flag :false,//false表示sigin的显示，true表示login的显示
            username :"",
            password :"",
            confirm :"",
        },
        methods:{
            //在login状态点击注册，则跳转到sigin状态,显示注册信息
            sigin_show:function(){
                if(this.show_flag==false){
                    this.show_flag=true;
                    return ;
                }
                //在sigin状态点击注册，则是注册提交
                if(this.username.length <= 0){
                    alert("输入的用户名长度不能少于六个字符！");
                    return ;
                }
                if(this.password.length <= 0){
                    alert("输入的密码长度不能少于六个字符！");
                    return ;
                }
                if(this.confirm != this.password){
                    alert("输入的密码与确认密码不同！");
                    return ;
                }

                var user_info={
                    username:this.username,
                    password:this.password,
                }
                $.ajax({
                    url:"/register",
                    type:"post",
                    data:JSON.stringify(user_info),
                    context:this,
                    success:function(result){
                        alert("注册用户成功");
                        //用户注册成功
                        this.show_flag=false;
                        this.username="";
                        this.password="";
                        this.confirm="";
                    },
                    error:function(xhr,status,error){
                        //alert("错误"+xhr.status+xhr.statusText);
                        //alert(JSON.stringify(xhr));
                        alert(xhr.responseText);
                    }

                })
            },
            login_show:function(){
                if(this.show_flag==true){
                    this.show_flag=false;
                    return ;
                }

                if(this.username.length <= 0){
                    alert("输入的用户名长度不能少于六个字符！");
                    return ;
                }
                if(this.password.length <= 0){
                    alert("输入的密码长度不能少于六个字符！");
                    return ;
                }

                var user_info={
                    username:this.username,
                    password:this.password,
                }
                $.ajax({
                    url:"/login",
                    type:"post",
                    data:JSON.stringify(user_info),
                    context:this,
                    success:function(result){
                        alert("用户登录成功");
                        //跳转chat.html页面
                        window.location.replace("/chat.html");
                    },
                    error:function(xhr,status,error){
                        alert(xhr.responseText);
                    }
                })

            }
        }
    })
</script>
</html>
